/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package org.xo;

import java.util.Date;
import java.util.Map;

public interface IXOObject {

    public int _int(String key);

    public long _long(String key);

    public double _double(String key);
    
    public Date _date(String key);

    public IXOObject _xo(String key);

    public IXOArray _xa(String key);
    
    public Map<String,Object> _m();

    public IXOObject _clone();

    public int _length();
    
    public Object _set(String key, Object value);

    public Object check(String key, String dt, Object value);

    public int asInt(String key, int dv);
    
    public long asLong(String key, long dv);

    public double asDouble(String key, double dv);

    public Date asDate(String key, Date dv);

    public String asString(String key);
    
    public Object obj(String key);
    
    public IXOObject asXO(String key);
    
    public IXOArray asXA(String key);

    public String json();

}
